#函数
#定义函数的关键字:def
sum=0#全局变量
def add(a,b):#a、b是形参
    global sum#需要修改全局变量，需要再修改前提前加上global声明
    sum=sum+1#但不能修改全局变量 否则会报错：cannot access local variable 'sum' where it is not associated with a value
    print(sum)  # 函数内部可以打印全局变量
    print('---------')
    num=100#局部变量：仅在函数内部有效
    num=num+1#函数内部可以修改局部变量
    # sub(a,b)
    # 一般不推荐这样写
    # def mul(a,b):
    #     return a*b
    return a+b,a*a+b*b

result=add(b=20,a=10)#关键字传参:形参=实参
print(result)#（30，500）

def sub(a,b):
    return a-b


#斐波那契数列
def fib(n):
    if n<=2:
        return 1
    return fib(n-1) + fib(n-2)
print(fib(10))
for i in range(1,10+1):
    print(fib(i),end=",")

#匿名函数
f=lambda a,b:a+b
f(1,2)
